home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr28
/
bpt5107.zip
/
BUGS.510
< prev
next >
Wrap
Text File
|
1993-03-01
|
25KB
|
572 lines
Below is a listing of the patched products. In parenthesis () is the
environment for which the patch was created.
Bug descriptions for :
BTRIEVE (DOS, OS/2, Windows, & NLM)
BSERVER(VAP),
BUTIL,
BTRTOOLS
Requester (DOS & OS2)
1. Bserver (vap)
Note: Not a really a bug, but an improvement!
If a GET DIRECT operation returns a record which has a null value in
the key field specified by key number (and the key allows duplicates) then
status 82 is returned. This is a correct status code. Sometimes, however,
the user is not interested in positioning by any of the keys; he simply
wants to retrieve the record. To achieve this, a new option is provided
by this patch: the user can specify -1 in the key number and then
ONLY the data will be returned (and of course, no status 82 will be
reported).
2. Bserver (vap)
Files with variable size records can become corrupted (in the variable
pages) if the page size is at least 1024 and the user stores many
records with extremely short (1 to 2 byte) variable parts.
3. Bserver (vap)
Files can be left open on a server if another connected server crashes
and Netware SQL has opened these files previously from the crashed
server.
4. Bserver (vap)
If 2 workstations hold record locks on the same file and then they both
start a transaction and attempt to get a record from this file (i.e. try
to lock the file), then both stations will be locked up, without getting
a status 78 ("deadlock detected") on one of the stations.
5. Bserver (vap)
Any file access (get,step,etc.) can return an erroneous status 85
(was previously documented here as an 84- "File in use") in a "no-wait"
transaction (op code 219). It may also lock up in a regular transaction
(op code 19) if Station 1 was holding a record lock on the file BEFORE
it issued the BEGIN TRANSACTION and Station 2 had opened the file earlier
than Station 1.
6. Bserver (vap)
If the user passes Btrieve a file name in an illegal format (i.e. more
than an 8 character name or more than a 3 character extension) then
Btrieve stores it as it is given. Netware 286, however, drops the extra
letters and will open a file which matches the re-formatted name (e.g if
given: "abcdefghij.klmno" then file "abcdefgh.klm" is opened if it exists).
This can cause a status 94 for another open if that other open is not
getting the same, "miss-spelled" name. This patch will make sure that
Btrieve will always store internally the the re-formatted file name.
7. Bserver (vap)
When all workstations are shut down on an ArcNet network, the VAP
operating system returns an error to all VAPs using the Service
Advertising Protocol. This causes Bserver to issue an Error-Log message
of "Send Failure in Advertiser". This patch is normally commented-out,
but may be enabled by users who find their error logs clogged up.
8. Bserver (vap)
The following scenario produces an erroneous status 14:
a. first a workstation opens a file read-only;
b. the same file is opened again in regular mode once or more times
(either by another or by the same workstation);
c. using the "regular-mode" handle(s) do some operations which involve
the preimage file of the file (insert, update, delete, or transact)
d. close the file on all handles so that the "read-only" handle does
the LAST close;
e. open the file again in regular mode and try to do any operation
which uses the pre-image file.
9. Brequest
This patch makes BRequest aware of a new error code #74, which results
when an END_TRANS function is internally changed to an ABORT_TRANS due
to a previous error within the transaction. Without this patch,
Brequest will stop broadcasting the END_TRANS to all servers when this
error is encountered. This can result in the transaction left open on
another server.
10. Brequest
This patch fixes BRequest so that it can reset another workstation by
connection number without also resetting itself and terminating its own
connection.
11. Brequest
This patch fixes a BRequest SPX input queuing problem which can result
in lost packets and even BRequest lock-up when overloaded. This problem
is generally seen only if a very slow workstation is talking to a very
fast (and lightly loaded) BServer. It may also appear when BRequest is
running in a DesqView window with other processes (such as copying from
a hard disk to a floppy), since that effectively slows the W.S.
12. BUTIL.EXE
Increased stack size to 22K bytes. Btrieve utilities for COPY and
BINDEX were crashing due to insufficient stack space to accommodate
local variables.
13. Brequest
This patch was made to satisfy a user request that BRequest should be able
to alternately attach, query, and detach to an indefinite number of
BServers. Currently, BRequest would have to be unloaded after the 8th
server is attached.
13/a Brequest
This patch is required in conjunction with patch #13 and ALSO fixes a
longstanding problem where a Begin_Transaction immediately after mapping
to a new server would fail to broadcast the transaction to that server.
14. Btrieve (NLM- NetWare 3.0; NetWare 3.1 patch #1)
An incompatibility with the rest of the Btrieve products:
The Get Position operation following a Delete operation returns
status 43 instead of status 8.
15. OS/2 Requester
15.a Returning status 22 on extended inserts
15.b Version returned was 5.0
16. OS/2 Requester
Opening a file on a different server than previously opened files
could have resulted in a status 12 despite correct filenames
and drive mappings.
17. OS/2 Requester
Random status 12 or 91 returned when opening a file.
This occurs if two file servers in the LAN have identical internet
addresses except for the last byte, and if the desired server is
found after the other in the bindery scanned for BSERVER VAP's.
18. OS/2 Requester
Protection violation generated by the COBOL interface due to the
requester not restoring the caller's SI and DI registers on return.
This could, but hasn't yet, be caused in other languages as well.
19. Btrieve (NLM- NetWare 3.0; Netware 3.1 patch #2)
Without this patch various random error status can be returned when using
variable length pages or using truncation.
20. Btrieve (DOS)
Btrieve will hang if a TSR or device driver is using it and that
TSR/device driver was called from DOS after the DOS-busy flag has
been set. This patch is normally "commented-out." It causes Btrieve
to ignore the DOS-busy flag, instead of waiting for it to clear
before Btrieve makes DOS calls. Only apply this patch if you are sure
that it is needed; that is, only if your application is calling
Btrieve while the DOS-busy flag is set AND you are sure that DOS is
not really busy!
23. Btrieve (only DOS 5.10, not 5.10a!)
Btrieve might hang when loading in certain environments (hardware and/or
programs run before loading Btrieve)
24. Btrieve (DOS, NLM- Netware 3.0; Netware 3.1 patch #5)
Get Key-only operations are not updating the position block.
25. Btrieve (vap)
Logging to a different volume of the same server does not work properly.
27. Btrieve (VAP, NLM- Netware 3.1 patch #7)
& Brequest (DOS, os/2 )
For data-only files, Btrieve was returning data to the key buffer
after Get Direct, Update, Insert and Extended Insert.
*** THE PATCH MUST BE MADE BOTH TO THE VAP (OR NLM) AND THE REQUESTER ***
THE VAP (OR NLM) SENDS A FLAG TO THE REQUESTER- IF YOU DON'T PATCH
THE REQUESTER THE FLAG WILL NOT BE UNDERSTOOD AND THE PROBLEM WILL
STILL BE PRESENT.
28. Btrieve (DOS)
A file can become corrupted if a work station opens a file as another
workstation closes the same file from an accelerated processing mode
(timing-related bug, which is corrected by this patch).
30 Btrieve (vap, DOS)
Btrieve will return an erroneous status 26 when a supplemental
index with 8 segments is added to a data only btrieve file of
size 512 bytes.
31 Btrieve (DOS)
Btrieve will return an erroneous status 83's when it does Insert Extended
operations within a transaction.
33 Btrieve (vap, NLM- NetWare 3.1 patch #10)
This fixes the following bug: after a Get Direct returned a status 22
(user's data buffer too small), the user's key buffer was being
overwritten with garbage. It also fixes a bug in which the NLM
was not returning a key value after a Get Direct returned a status 22
when the user's data buffer WAS long enough to at least receive the
fixed length portion (including the keys) of the record.
*** THIS PATCH WILL ONLY WORK IF PATCH #27 HAS BEEN APPLIED TO THE ***
VAP OR NLM AND BREQUEST.EXE !!!
34 Btrieve (vap)
Fixes a bug which caused a GPI crash on the vap's server when the
application used the Extended Insert function and passed a data buffer
larger than the "Largest record size" parameter configured by Bsetup.
35 Btrieve (DOS)
Fixes a bug which caused btrieve to unnecessarily make a preimage
file if the very first operation requested after Btrieve was loaded
was a Create.
36 Btrieve (DOS)
Fixes a bug in which btrieve crashes (or perhaps shows other
unpredictable symptoms) when updating a record retrieved with a
get direct or step (no key) operation if there has been no insert
nor get (using a key) since the file was open, and if the file's
position block array contained values other than binary zeros prior
to the file's open operation.
(Fixes problem where update to dataonly file after StepFirst
hangs the workstation)
37 Btrieve (NLM- Netware 3.1 patch #11, DOS, and vap)
Fixes a bug which caused Btrieve to return an incorrect status 2
when a record was deleted from a file with a supplemental index.
This bug is most likely to occur only if few records have been inserted
since the creation of the supplemental index. The bug only occurs
on the VAP or DOS if the supplemental index was created with the NLM.
38 BTRTOOLS - (Windows Btrieve utilities)
This patch stops the description file utility from dropping the first
word of the comments from the description file.
39 Btrieve (OS/2)
Fixes a bug which would cause a segmentation violation during
re-initialization through BTRVINIT().
40 Btrieve ( vap )
Fixes an error in patch #34 for the vap. This error causes a status 39
to be returned when XQLI starts up.
41 Btrieve ( OS/2 & Windows )
Fixes a bug which caused btrieve to unnecessarily make a preimage
file if the very first operation requested after Btrieve was loaded
was a Create.
42 Btrieve ( OS/2 & Windows )
Fixes a bug in which btrieve crashes (or perhaps shows other
unpredictable symptoms) when updating a record retrieved with a
get direct or step (no key) operation if there has been no insert
nor get (using a key) since the file was open, and if the file's
position block array contained values other than binary zeros prior
to the file's open operation.
(Fixes problem where update to dataonly file after StepFirst
hangs the workstation)
43 Btrieve ( OS/2 & Windows )
Fixes a bug which caused Btrieve to return an incorrect status 2
when a record was deleted from a file with a supplemental index.
This bug is most likely to occur only if few records have been inserted
since the creation of the supplemental index. This bug will only
occur in Btrieve for Windows or OS/2 when using a file created by
the NLM Btrieve.
44 Btrieve ( DOS & OS/2 )
Fixes this bug: A file is opened in exclusive mode. The application
then repeats the following sequence a several times, each time using a
different record: it retrieves a record using a multiple record lock
bias (300 or 400), then it updates or deletes that record (which should
clear the lock). Eventually, a status 81 (Lock Error) is returned.
The number of times it can repeat the sequence before the status 81
is determined the user's specification of the maximum number of multiple
locks (/L:). For DOS Btrieve, this bug will also appear if the file is
opened in other modes, provided that the file is on a non-network drive
and SHARE.EXE is not loaded.
45 BTRTOOLS (Windows)
Fixes bug which required File Information key count to match total
key/segment count in description file. This was for the description
file edit utility.
46 Btrieve (DOS)
Btrieve does not return status code 83 when a record is updated but
not read inside a transaction.
51 BUTIL.EXE
Clone is created incorrectly for a file which has at least one multi-
segmented supplemental key and one or more additional supplemental keys.
52 BROUTER (VAP)
This bug causes the server to GPI or ABEND if a Btrieve CREATE call
is made to a REMOTE server.
53 BROUTER (VAP)
If there are more than 100 file servers on the network(s), then BRouter
will sometimes crash when building its server tables.
54 BROUTER (VAP)
This patch fixes a BRouter SPX input queuing problem which can result
in lost packets. It also fixes lock-up problems caused by an over-
loaded on BRouter.
55 Btrieve (VAP, DOS, Windows, OS/2)
If VAP Btrieve has a file open, and DOS or Windows Btrieve (running on
a workstation) tries to open a file in the Normal, Verify, or Exclusive
modes, DOS/Windows/OS2 Btrieve incorrectly returned a status 94. This
patch makes it return the correct status, 85. Similarly, if Btrieve
running on a workstation has a file open and VAP Btrieve tries to
open it (any mode), VAP Btrieve was returning a 94. Now it'll return
an 85. Also, if a workstation Btrieve tries to open a file in
Accelerated mode in a directory in which the user does not have Netware
Write permission, an incorrect status of 85 was being returned. Now
it returns a 94.
56 Btrieve (VAP)
This bug allowed a user to open and write to files in directories
in which the user has no Write permission.
58 Btrieve (VAP)
This is not really a bug but it allows applications which "illegally"
change the key number when executing an update operation to operate
without getting a status 7. (Earlier versions did not catch the user
when changed the key number, so this fix makes 5.10 backward compatible
in this respect.)
62 Btrieve (!!!! Only for IBM PC LAN users !!!!)
Changes executed on a file within a transaction are erroneously rolled
back if another station accesses the file before an End Transaction (op19)
executed on the first station.
64 Btrieve ( DOS )
If the user attempts to install Btrieve with the /F:nn parameter to
specify that Btrieve allow more than 20 open files, and for any reason
the attempted installation fails (e.g., Btrieve already loaded), then
this bug could cause unpredictable symptoms, most likely hanging the
system.
65 Btrieve ( OS/2 )
Cntl-Break causes program to hang because OS/2 does not clear
the Btrieve semaphore owned by the process, nor does it let the process
finish the Btrieve operation before terminating. The ExitList routine
was waiting for the semaphore to clear. Cntl-C does not cause have
this problem.
67 Btrieve (vap)
This fixes a bug in an undocumented Btrieve function call which is
used by NetWare SQL in its "alter table" function. This bug was
introduced by patch #6.
68 BROUTER (VAP, NLM- NetWare 3.1 patch #22)
This fixes an interface problem between both BROUTERs and the Btrieve NLM
when doing an update operation on a key number other than 0. In some
cases this could result in over-writing the front of the record.
69 Btrieve ( DOS, Windows, OS/2 )
When the user attempts to use Btrieve's logging feature, and specifies
a log file on a different volume of the same server on which the
file-to-be-logged resides, logging does not happen. This patch fixes
the problem for DOS and Windows Btrieve. However, this problem is
not patchable for OS/2 Btrieve.
71 Btrieve ( DOS, Windows, OS/2, VAP, NLM- NetWare 3.1 patch #24 )
When an application does a Step Next or Step Previous (or Extended
Step Next/Previous) after a Delete, Btrieve should return a status
8, Invalid Positioning. Instead, this bug causes it to go into an
endless loop. With the VAP & NLM, the workstation will appear to be
hung, too. This patch fixes that bug. (The bug only appears if the
record deleted has a physical position > 0xffff.) Also fixed is a
related symptom of this bug: DOS, Windows and OS/2 Btrieve incorrectly
return a status 0 if you do a Get Position after a Delete.
73 Btrieve (DOS, Windows, OS/2)
Fixes a bug which shows up in the following scenario: an application has
two files open, and file #2 is opened in accelerated mode. It closes
file #1. It does some updates/inserts to file #2. It closes file #1
again (an error which returns a status 3). Many of the recent changes
to file #2 will be lost.
74 Btrieve (DOS, Windows, OS/2)
When using the Btrieve logging feature, the Reset operation was not
being logged and the log files were being left opened after a Reset.
76 Btrieve (DOS)
This corrects severe performance degradation on simple reads during
inserts by another WS with a transaction on the file. This was caused by
waiting in a loop for a lock instead of simply verifying a not-locked
state and returning.
77 Btrieve (DOS)
Btrieve 5.10 uses a new mechanism in order to keep more than 20 files
open to DOS at a time instead of rotating the 20 available handles.
This can cause Btrieve to compete with the application for available DOS
or NetWare handles where it did not previously do so. One solution is
to set the NetWare shell configuration to allow more than the default 40
handles. A low-performance solution is to use this patch to disable the
new mechanism and keep the 20 handle rotation limit. This allows 5.10 to
substitute for 5.00 without any environment changes, but at a cost.
78 Btrieve (DOS, Windows, OS/2, VAP) and BROLLFWD.
If the computer on which DOS, Windows, or OS/2 Btrieve is running is
turned off or rebooted during a transaction, Btrieve's implicit Abort
Transaction, which is performed when the files involved are next opened,
was not being properly logged. Also, with BSERVER.VAP, there was a small
timing window in which, if the server is turned off during an update,
delete, or insert, the VAP may improperly log an operation when the
involved files are reopened. In each of these cases, the improper logging
would confuse BROLLFWD. (Note: BROLLFWD is not being patched. You
must use version 5.15 of BROLLFWD to fix this bug.)
79 Btrieve (DOS, Windows, and OS/2)
If an End Transaction operation is interrupted (by a reboot, or power
down), Btrieve may not be able to use the transaction file. DOS Btrieve
displays "Unable to access btrieve file for transaction recovery" and
will not load. Windows and OS/2 Btrieve return a status 1002. This
patch is for DOS Btrieve only. Windows and OS/2 Btrieve will be fixed
in the next release.
81 Btrieve (DOS)
The user's Filter_Reject_Count on GET_EXTENDED operations was limited
to 128 records, regardless of the length passed in, resulting in error
#60 when records should have been returned. This removes that limit.
82 Btrieve (OS/2)
Multiple sessions accessing the same transaction control file caused the
sessions to become hung up.
83 Btrieve (DOS, Windows, OS/2, VAP)
When creating a supplemental index using a null key and an extended
key type, if the null value is an even number, Btrieve will not
recognize the extended key type but will instead use the 3rd bit of the
key flags word to flag the key as either binary or string.
84 Btrieve ( DOS )
Status 93s were sometimes returned when doing multiple locks on many
files. The error could not be cleared by a RESET; it could only be
cleared by reloading btrieve. This was caused when a failure to open
the transaction file, because of NO_DOS_HANDLES, caused the system to
"rotate" handles by closing an old one. A bug in the rotation code
caused a file with a lock to be closed without clearing the lock record.
This record then resulted in a false state in later operations, leading
to the status 93. This problem can also be solved by increasing the
/F parameter, since this occurs only when operating at the file limit.
85 Btrieve ( DOS )
When doing an END TRANSACTION with logging on, the workstation would
sometimes hang in a loop waiting for the log file lock to clear when
the workstation itself was responsible for that lock. This fix clears
all locks at END TRANS time.
90 BTRIEVE (OS/2,WINDOWS)
The SET_DIR operation was not restoring the DS register before setting
the status code if the operation failed. The status code was set
using the DS register of the KEY BUFFER.
91 VAP Btrieve: BSERVER.VAP, version 5.10
With multiple workstations involved in transactions, a client could
receive erratic and non-repeatable status 2s on operations ranging from
OPENs to GETs on a file already opened. The root cause is that one
client has opened the file to his TTS task and the file has subsequently
been closed for rotation due to limited handles. The problem is that
the file must be re-opened on the next access, but only the owner task
can do so. All others get errors that translate to 2. The problem
disappears as soon as the first client accesses or ends his transaction.
This bug is therefore timing-related and very hard to pin down. This
fix allows other clients to temporarily assume the right task #.
92. VAP Btrieve: BSERVER.VAP, version 5.10
After an Extended Insert, the data buffer should be passed back with
a count of records successfully inserted in the first word of the
buffer. However, this bug prevented the data buffer from being sent
to the application if the Extended Insert returned a non-zero status.
93. Btrieve (DOS, Windows, OS/2, VAP)
The STAT command would return 0 for unused pages whenever the number was
greater than 32K (32768). This forces a non-zero return.
95. Btrieve (DOS, Windows, and OS/2)
When building a supplemental index (Op 31) on a file opened in
accelerated mode, if a duplicate key value is found and duplicates are
not allowed for the index being built, btrieve enters an infinite loop.
98. Btrieve (DOS)
This optional patch implements an enhancement to the GET_EXTENDED API to
allow it to use the current record as the starting point, rather than
the next record. The header signature "UC" must be used instead of the
normal extended get signature, "EG".
101. Btrieve (OS/2)
When a connection to a file server is lost, lock operations on the
file return a LOCK VIOLATION status rather than an invalid handle.
This incorrect status is returned by the NetWare requester. The result
is that Btrieve keeps retrying the lock assuming that the status means
someone else has it locked. To get around the problem, a LSEEK to EOF
is done to verify the handle.
102. Btrieve DOS v5.10a
GET NEXT/PREVIOUS KEY operation should be faster than GET NEXT/PREVIOUS
operation, because it only retrieves the key value from the file.
The fact is that it is slowlier. This patch makes the tuched KEY_BIAS
operations are not converted to GET_GT/GET_LT operations, so the
performance has been improved. (BTRIEVE NLM v5.15 patch # 24)